﻿using System;
using System.Collections.Generic;

namespace Pap.Data
{
    /// <summary>
    /// 
    /// </summary>
    public interface ICommittee : IEntity
    {
        /// <summary>
        /// Gets or sets the committee ID.
        /// </summary>
        /// <value>
        /// The committee ID.
        /// </value>
        Guid CommitteeID { get; set; }
        /// <summary>
        /// Gets or sets the name of the committee.
        /// </summary>
        /// <value>
        /// The name of the committee.
        /// </value>
        string CommitteeName { get; set; }
        /// <summary>
        /// Gets or sets the center ID.
        /// </summary>
        /// <value>
        /// The center ID.
        /// </value>
        Guid CenterID { get; set; }
        /// <summary>
        /// Gets or sets the is main committee.
        /// </summary>
        /// <value>
        /// The is main committee.
        /// </value>
        Nullable<bool> IsMainCommittee { get; set; }

        /// <summary>
        /// Gets the committee bank accounts.
        /// </summary>
        IEnumerable<ICommitteeBankAccount> CommitteeBankAccounts { get; }
        /// <summary>
        /// Gets or sets the villages.
        /// </summary>
        /// <value>
        /// The villages.
        /// </value>
        IEnumerable<IVillage> Villages { get; set; }

        /// <summary>
        /// Changes the villages.
        /// </summary>
        /// <param name="newVillageList">The new village list.</param>
        void ChangeVillages(IEnumerable<IVillage> newVillageList);
    }
}
